// observable用于创建一个被监测的对象，对象的属性就是应用的状态，状态会自动转换为响应数据
// action 函数是用来显式的定义action方法，用来修改、更新状态
import { observable, action } from "mobx-miniprogram";
// 创建 numStore 对象存储数字相关的数据
export const numStore = observable({
  // 定义共享的数据
  numA: 1,
  numB: 2,
  // 定义action方法用来修改状态
  update: action(function () {
    // 在方法中如需要获取状态，可以通过this进行获取
    (this.numA += 1), (this.numB += 1);
  }),
  // 计算属性 computed，根据已有的状态产生新的状态，计算属性需要使用get修饰符
  get sum() {
    // 计算属性内部必须有返回值
    return this.numA + this.numB;
  },
});
